home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / cpphtp2 / code.jar / code / ch07 / fig07_03.txt < prev    next >
Text File  |  1998-02-27  |  1KB  |  45 lines

  1. 1   // Fig. 7.3: fig07_03.cpp
  2. 2   // Attempting to initialize a constant of
  3. 3   // a built-in data type with an assignment.
  4. 4   #include <iostream.h>
  5. 5   
  6. 6   class Increment {
  7. 7   public:
  8. 8      Increment( int c = 0, int i = 1 );
  9. 9      void addIncrement() { count += increment; }
  10. 10     void print() const;
  11. 11  private:
  12. 12     int count;
  13. 13     const int increment;
  14. 14  };
  15. 15  
  16. 16  // Constructor for class Increment
  17. 17  Increment::Increment( int c, int i )
  18. 18  {             // Constant member 'increment' is not initialized
  19. 19     count = c;
  20. 20     increment = i;  // ERROR: Cannot modify a const object
  21. 21  }
  22. 22  
  23. 23  // Print the data
  24. 24  void Increment::print() const
  25. 25  {
  26. 26     cout << "count = " << count
  27. 27          << ", increment = " << increment << endl;
  28. 28  }
  29. 29  
  30. 30  int main()
  31. 31  {
  32. 32     Increment value( 10, 5 );
  33. 33  
  34. 34     cout << "Before incrementing: ";
  35. 35     value.print();
  36. 36  
  37. 37     for ( int j = 0; j < 3; j++ ) {
  38. 38        value.addIncrement();
  39. 39        cout << "After increment " << j << ": ";
  40. 40        value.print();
  41. 41     }
  42. 42  
  43. 43     return 0;
  44. 44  }
  45.